File information: | |
File name: | Alto_Mesa_1974.pdf [preview Alto Mesa 1974] |
Size: | 837 kB |
Extension: | |
Mfg: | xerox |
Model: | Alto Mesa 1974 🔎 |
Original: | Alto Mesa 1974 🔎 |
Descr: | xerox mesa Alto_Mesa_1974.pdf |
Group: | Electronics > Other |
Uploaded: | 27-12-2019 |
User: | Anonymous |
Multipart: | No multipart |
Information about the files in archive: | ||
Decompress result: | OK | |
Extracted files: | 1 | |
File name Alto_Mesa_1974.pdf Inter-Office (VJem.ornndum To CSL, SSL Date June 12,1274. From Jim Mitchell Location PARC-CSL Subject What Mesa needs in an Alto Organizlltion Virtual Memory Scheme Since there has been much discussion of Virtual Memory (VM) schemes in the context of Alto "Gold Coins", it seemed appropriate that the desires of the Mesa group be specified. This memo is a reasonably high level description of the characteristics which would be helpful to Mesa in a VM scheme. Mesa Object Files A Mesa Object Module (file) is composed of two main parts, each of which is a contiguous group of pages in the file: header info n pages object code literals symbol pages tables Generally, s is larger than n, and sometimes s is twice as large as n. The action of "loading" a Mesa module requires only that the code pages be mapped into memory. The code is never altered in any way - all external connections (generally procedures and ports) are in the data associated with a program. A Mesa routine (procedure or coroutine) is uniquely identified by a frame containing its state and local variables, and many routines may share the code in an object module. The information which allows Mesa to associate a symbol table and code with a routine is kept in a frame called a creator frame. The act of "declaring" an object 'file to Mesa causes a creator frame for that file to be made. Instances of that module can then be created simply by transferring control to its creator; the result is a new routine. The cost of creating new instances is roughly comparable with the cost of a procedure call. The header information in the code block of an object file contains sufficient information to enable the Mesa loader to manufacture a creator for it. Abstractions for Managing (Overlaying) Code Blocks A contiguous set of file pages is called a ~ group in Mesa, and is identified by three values: filehandle: some handle on a file by which the pages of the file can be named (for example, a JFN in Tenex); pagebase: the page in the file which corresponds to page zero in the page group; size: the numb~r of pages in the group.' A page group is accessed by a PG-handle (actually a protected [sealed] pointer) and page groups may be created, destroyed, and swapped into memory or out. More than one page group may, in principle, be associated with the same pages in a file. On Tenex this is accomplished by PMAPping the appropiate file pages into the Tenex VM. One |
Date | User | Rating | Comment |